home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 26.zip
/
BS1 part 26
/
C for beginners.adf
/
source
/
arg_math.c
< prev
next >
Wrap
C/C++ Source or Header
|
1978-01-17
|
872b
|
46 lines
/* arg_math.c 23.1 */
extern double atof(); /* Declaration */
int error = 0;
void main(argc, argv)
int argc;
char *argv[];
{
double result, value();
if(argc != 4)
printf("\nWrong Entry\nCall: number1 # number2\n");
else
{
result = value(argv[1], argv[2], argv[3]);
if(!error)
printf("\n%s %s %s = %.9lf\n", argv[1], argv[2], argv[3], result);
}
}
double value(num1, op, num2)
char *num1, *op, *num2;
{
double z1 = atof(num1);
double z2 = atof(num2);
switch(*op) /* only the first character */
{
case '/':
return(z1 / z2);
case '*':
return(z1 * z2);
case '-':
return(z1 - z2);
case '+':
return(z1 + z2);
default:
printf("\nUnknown Operator >%s<\n", 7, op);
error = 1;
return(0.0);
}
}